import type { PageQuery } from './response';

/**
 * 账单类型枚举
 */
export enum BillType {
  INCOME = 'INCOME', // 收入
  EXPENSE = 'EXPENSE', // 支出
}

/**
 * 账单项接口
 */
export interface BillItem {
  id?: string;
  title: string;
  amount: number;
  type: BillType;
  category: string;
  date: string;
  remark?: string;
  createTime?: string;
  updateTime?: string;
}

/**
 * 账单查询参数接口
 */
export interface BillQuery {
  pageNumber?: number;
  pageSize?: number;
  startDate?: string;
  endDate?: string;
  type?: BillType;
  category?: string;
  keyword?: string;
}

/**
 * 账单流水分页查询请求参数
 */
export interface ListUseFlowPageReq {
  pageQuery: PageQuery;
  startTranDate?: string;
  endTranDate?: string;
  consumptionType?: number;
}

/**
 * 账单流水列表项响应
 */
export interface ListUserFlowPageResp {
  /**
   * 自增主键
   */
  id: number;

  /**
   * 商家
   */
  merchantName: string;

  /**
   * 消费类型，0:消费，1:充值
   */
  consumptionType: number;

  /**
   * 交易日期
   */
  tranDate: string;

  /**
   * 交易金额
   */
  tranAmt: number;

  /**
   * 备注
   */
  remark: string;

  /**
   * 创建时间
   */
  createDate: string;

  /**
   * 更新时间
   */
  updateDate: string;
}

/**
 * 账户余额响应
 */
export interface AcctBalanceResp {
  /**
   * 余额
   */
  balance: string;

  /**
   * 上一次充值时间
   */
  lastTopUp: string;

  /**
   * 上次使用时间
   */
  updateDate: string;

  /**
   * 充值金额
   */
  topUpBalance: string;
} 